package com.medicine.manage.service.impl;

import java.util.List;

import com.medicine.common.constant.UserConstants;
import com.medicine.common.utils.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.medicine.manage.mapper.MedicinalPanMapper;
import com.medicine.manage.domain.MedicinalPan;
import com.medicine.manage.service.IMedicinalPanService;

/**
 * 煎药锅管理Service业务层处理
 * 
 * @author admin
 * @date 2024-10-12
 */
@Service
public class MedicinalPanServiceImpl implements IMedicinalPanService
{
    @Autowired
    private MedicinalPanMapper medicinalPanMapper;

    /**
     * 查询煎药锅管理
     * 
     * @param id 煎药锅管理主键
     * @return 煎药锅管理
     */
    @Override
    public MedicinalPan selectMedicinalPanById(Long id)
    {
        return medicinalPanMapper.selectMedicinalPanById(id);
    }

    /**
     * 查询煎药锅管理列表
     * 
     * @param medicinalPan 煎药锅管理
     * @return 煎药锅管理
     */
    @Override
    public List<MedicinalPan> selectMedicinalPanList(MedicinalPan medicinalPan)
    {
        return medicinalPanMapper.selectMedicinalPanList(medicinalPan);
    }

    /**
     * 新增煎药锅管理
     * 
     * @param medicinalPan 煎药锅管理
     * @return 结果
     */
    @Override
    public int insertMedicinalPan(MedicinalPan medicinalPan)
    {
        return medicinalPanMapper.insertMedicinalPan(medicinalPan);
    }

    /**
     * 修改煎药锅管理
     * 
     * @param medicinalPan 煎药锅管理
     * @return 结果
     */
    @Override
    public int updateMedicinalPan(MedicinalPan medicinalPan)
    {
        return medicinalPanMapper.updateMedicinalPan(medicinalPan);
    }

    /**
     * 批量删除煎药锅管理
     * 
     * @param ids 需要删除的煎药锅管理主键
     * @return 结果
     */
    @Override
    public int deleteMedicinalPanByIds(Long[] ids)
    {
        return medicinalPanMapper.deleteMedicinalPanByIds(ids);
    }

    /**
     * 删除煎药锅管理信息
     * 
     * @param id 煎药锅管理主键
     * @return 结果
     */
    @Override
    public int deleteMedicinalPanById(Long id)
    {
        return medicinalPanMapper.deleteMedicinalPanById(id);
    }

    @Override
    public boolean checkUnique(Long panNumber, Long deptId) {

        MedicinalPan medicinalPan = this.medicinalPanMapper.checkUnique(panNumber,deptId);
        if (StringUtils.isNotNull(medicinalPan) && panNumber.equals(medicinalPan.getPanNumber())){
            return UserConstants.NOT_UNIQUE;
        } else {
            return UserConstants.UNIQUE;
        }
    }
}
